package com.alibaba.springbootrbac.service;

import com.alibaba.springbootrbac.model.entity.Permission;
import com.alibaba.springbootrbac.model.param.permission.PermissionCreateParam;
import com.alibaba.springbootrbac.model.param.permission.PermissionPageQueryParam;
import com.alibaba.springbootrbac.model.param.permission.PermissionUpdateParam;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.List;

/**
 * 权限管理的service
 */
public interface PermissionService {

    /**
     * 新增权限
     */
    void addPermission(PermissionCreateParam param);

    /**
     * 修改权限
     */
    void updatePermission(PermissionUpdateParam param);

    /**
     * 删除权限
     */
    void deletePermission(String id);


    /**
     * 根据条件分页查询权限列表
     */
    IPage<Permission> getPermissionPageList(PermissionPageQueryParam param);


    /**
     * 根据用户ID查询用户的权限列表
     */
    List<Permission> getPermissionsByUserId(String userId);

}
